// 初始化i18n国际化插件
import Vue from 'vue'
import VueI18n from 'vue-i18n'
// ===系统文字的翻译===
// 1. 如果使用了组件库, 需要单独翻译组件库里组件文件的多语言
// 2. 系统自己组件内的自定义内容的翻译
// 翻译实现的步骤:
// 1. 要翻译的文字 => 提供对应语种翻译结果(语言包) => 支持几种语言就准备几个语言包
// 2. 把语言包传入翻译插件事例中

// 语言包如何定义: (.js模块)
// 1. 数据结构是一个对象
// 2. 在对象中可以按照模块或页面划分翻译的属性{login: {}, navbar: {}}
// 3. 在对应模块或页面的属性下使用一个新对象放置翻译结果{login: {title: ''}, navbar: {}}

// 组件库的语言包
import elementEN from 'element-ui/lib/locale/lang/en' // 引入饿了么的英文包
import elementZH from 'element-ui/lib/locale/lang/zh-CN' // 引入饿了么的中文包
import elementFA from 'element-ui/lib/locale/lang/fa'

// 自己的语言包
import CustomEN from './language/en'
import CustomZH from './language/zh'
import cookie from 'js-cookie'
// 1. 注册国际化插件
Vue.use(VueI18n)

// 2. 初始化i18n实例
const i18n = new VueI18n({
  // locale: 指定messages中支持的语言包
  locale: cookie.get('hr-lang') || 'zh',
  // messages: 接收支持的语言包
  messages: {
    en: {
      ...elementEN,
      ...CustomEN
    },
    zh: {
      ...elementZH,
      ...CustomZH
    },
    fa: {
      ...elementFA
    }
  }
})

// 3. 导出i18n实例
export default i18n
